﻿/******************************************************************************
 * 【本类功能概述】                                 					      *
 *  版权所有（C）2015-20XX，迅龙创威                                          *
 *  保留所有权利。                                                            *
 ******************************************************************************
 *  作者 : <hughjk>
 *  创建时间: 2017-1-3 13:22:32
 *  文件描述: 界面代码生成器
 *****************************************************************************/
using UnityEngine;
using UnityEditor;

namespace UguiScriptCreate
{
    public class UguiScriptCreate : Editor
    {
        //---------------------------------------------------------------------------------------------------------
        //  [6/27/2017 hugh]
        //生成活动代码
        [MenuItem("GameObject/UI/CodeGenerator/逻辑and基础and储存--会覆盖文件", false, -1)]
        static void CopyActivity()
        {
            CopyUIGenerator(UguiGenerator.CreateType._LogicAndModuleAndData);
        }
        [MenuItem("GameObject/UI/CodeGenerator/逻辑and组件--会覆盖文件", false, -1)]
        static void CopyLogicAndModule()
        {
            CopyUIGenerator(UguiGenerator.CreateType._LogicAndModule);
        }
        //生成类代码
        [MenuItem("GameObject/UI/CodeGenerator/更新组件", false, -1)]
        static void CopyInfo()
        {
            CopyUIGenerator(UguiGenerator.CreateType._Module);
        }
        //生成活动代码
        [MenuItem("GameObject/UI/CodeGenerator/Basic", false, -1)]
        static void CopyBasic()
        {
            CopyUIGenerator(UguiGenerator.CreateType._Base);
        }

        //生成项代码
        [MenuItem("GameObject/UI/CodeGenerator/ItemUi", false, -1)]
        static void CopyItem()
        {
            CopyUIGenerator(UguiGenerator.CreateType._ItemUi);
        }

        //生成类代码
        [MenuItem("GameObject/UI/CodeGenerator/ItemClass", false, -1)]
        static void CopyClass()
        {
            CopyUIGenerator(UguiGenerator.CreateType._ItemClass);
        }
       

        //UI 界面代码生成器//如果需要添加排除对象则选择多个对象即可
        static void CopyUIGenerator(UguiGenerator.CreateType type)
        {
            Transform[] SelectionAsset = Selection.GetTransforms(SelectionMode.Unfiltered);
            if (SelectionAsset.Length > 0)
            {
                string _s = UguiGenerator.Instance.Manufacturing(SelectionAsset, type);
                AssetDatabase.Refresh();
                Debug.Log(_s);
                TextEditor te = new TextEditor(); //很强大的文本工具
                te.content = new GUIContent(_s);
                te.OnFocus();
                te.Copy();
            }
        }
    }
}